home *** CD-ROM | disk | FTP | other *** search
- #Version 1.2 : Adaptation du script aux nouveau systΦme de catΘgories
- #Version 1.1 : Fabrice Vado (Nom du compte dans le nom du fichier QIF)
- #Version 1.0 : Fabio Chelly
-
- import BP
- global categ_names
-
- Ctg = {}
- for i, c in enumerate(BP.CategName):
- p = c.find("=")
- Idx = int(c[:p])
- c = c[p+1:].strip()
- Parent = BP.CategName[BP.CategParent[i]]
- p = Parent.find("=")
- PIdx = int(Parent[:p])
- if Idx == PIdx: Ctg[Idx] = c
- else: Ctg[Idx] = "%s:%s" %(Parent[p+1:].strip(), c)
-
- def GetCategName(index):
- if not Ctg.has_key(index): return ""
- return Ctg[index]
-
- #_______________________________________________________________________________
- account = BP.AccountCurrent()
- accountname = BP.AccountName[account]
-
- categ_names = BP.CategName
- categs = BP.OperationCateg[account]
- categs = [GetCategName(index) for index in categs]
- lines = zip(BP.OperationDate[account], BP.OperationMode[account], BP.Operationthirdparty[account], BP.OperationDetails[account], categs, BP.OperationAmount[account])
-
- records = []
- i = 0
- visible_lines = BP.VisibleLines()
- for dt, md, tr, dl, ct, mt in lines:
- if i in visible_lines:
- if not tr == "": tr = "P%s\n" %tr
- if not dl == "": dl = "M%s\n" %dl
- if not ct == "": ct = "L%s\n" %ct
- records.append( "D%s\nN%s\n%s%s%sT%.2f\n^" %(dt.replace("-", "/"), md, tr, dl, ct, mt) )
- i += 1
-
- qif_file = BP.BankPerfectFileName()
- if qif_file[-3:] == ".bp": qif_file = qif_file[:-3]
- qif_file = "%s-%s.qif" %(qif_file, accountname)
-
- try:
- open(qif_file, "w").write("!type:Bank\n%s" %"\n".join(records))
- BP.MsgBox("Le fichier %s a ΘtΘ crΘΘ" %qif_file, 0)
- except:
- BP.MsgBox("Impossible de crΘer le fichier %s" %qif_file, 0)
-